Crate image_compare
source ·Expand description
Comparing gray images using structure
This crate allows to compare grayscale images using either structure or histogramming methods. The easiest use is loading two images, converting them to grayscale and running a comparison:
use image_compare::Algorithm;
let image_one = image::open("image1.png").expect("Could not find test-image").into_luma8();
let image_two = image::open("image2.png").expect("Could not find test-image").into_luma8();
let result = image_compare::gray_similarity_structure(&Algorithm::MSSIMSimple, &image_one, &image_two).expect("Images had different dimensions");
Check the Algorithm
enum for implementation details
Comparing gray images using histogram
Histogram comparisons are possible using the histogram comparison function
use image_compare::Metric;
let image_one = image::open("image1.png").expect("Could not find test-image").into_luma8();
let image_two = image::open("image2.png").expect("Could not find test-image").into_luma8();
let result = image_compare::gray_similarity_histogram(Metric::Hellinger, &image_one, &image_two).expect("Images had different dimensions");
Comparing rgb images using hybrid mode
Histogram comparisons are possible using the histogram comparison function
let image_one = image::open("image1.png").expect("Could not find test-image").into_rgb8();
let image_two = image::open("image2.png").expect("Could not find test-image").into_rgb8();
let result = image_compare::rgb_hybrid_compare(&image_one, &image_two).expect("Images had different dimensions");
Check the Metric
enum for implementation details
Enums
- The enum for selecting a grayscale comparison implementation
- The errors that can occur during comparison of the images
- The distance metric choices for histogram comparisons
Traits
Functions
- Comparing gray images using histogram
- Comparing gray images using structure.
- Comparing structure via MSSIM on Y channel, comparing color-diff-vectors on U and V summing the squares Please mind that the RGBSimilarity-Image does not contain plain RGB here
- Comparing rgb images using structure. RGB structure similarity is performed by doing a channel split and taking the maximum deviation (minimum similarity) for the result. The image contains the complete deviations.
Type Aliases
- a single-channel f32 typed image containing a result-score for each pixel
- a three-channel f32 typed image containing a result-score per color channel for each pixel